<?php 
/**
 * Registry class to pass global variables between classes.
 * 
 * @category   Epic
 * @package    Epic_Registry
 * @author     Epic Core Team <rukanhitokiri@gmail.com>
 */
class Epic_Registry_Abstract
{   
// 	/**
//      * Singleton instance
//      * @var Epic_Registry_Abstract
//      */
//     protected static $_instances = array();
    
//     /**
//      * Singleton instance
//      *
//      * @return Epic_Registry_Abstract
//      */
//     public static function getInstance()
//     {
//     	// uses Late Static Bindings available from PHP 5.3
//         $class = get_called_class();
//         if (!isset(self::$_instances[$class])) {
//             self::$_instances[$class] = new $class;
//         }
//         return self::$_instances[$class];
//     }
    
    /**
     * Constructor
     *
     * Instantiate using {@link getInstance()}; Epic_Registry_Abstract is a singleton object.
     *
	 * Overriden by some subclasses
     *
     * @return void
     */
    protected function __construct() {}
   
    /**
     * Enforce singleton; disallow cloning
     *
     * @return void
     */
    protected function __clone() {}

    /**
     * Adds a new variable to the Registry.
     *
     * @param string $key Name of the variable
     * @param mixed $value Value of the variable
     */
    public static function set($key, $value = null){}
    
    /**
     * Returns the value of the specified $key in the Registry.
     *
     * @param string $key Name of the variable
     * @return mixed Value of the specified $key
     */
    public static function get($key){}      
}